This application relates to computer memory systems, and in particular to techniques for managing and diagnosing problems in a computer memory.
Direct Rambus DRAM (Direct RDRAM) is a relatively new technology in computer memory systems. Produced by Rambus, Inc., the Direct RDRAM defines a new interconnect topology and has a more stringent set of requirements compared to current and previous generation memory interfaces. This application addresses one of the shortcomings of the Direct RDRAM interconnect topology.
The Direct Rambus specification dictates that all Rambus Inline Memory Module (RIMM) memory sockets must be populated with a memory module or a continuity module. Continuity modules simply contain copper traces that complete the connectivity from one side of the RIMM socket to the other. FIGS. 5A-B show an upgrade to the system, with the FIG. 5A showing a system having three memory sockets; one socket has memory module A, while the other two sockets contain continuity modules B and C. In FIG. 5B, continuity module B is removed and replaced by new memory module D.
FIG. 4 shows a typical Direct Rambus RIMM Memory Subsystem 410. In this figure, RIMM sockets 435, 445, and 455 contain RIMM modules 430 and 440 and a continuity module 450, respectively. The Master Device RIMM controller 420 is connected over Rambus channel 460 to each of the RIMM sockets, in series. The Direct Rambus Clock Generator 465 is also connected to each RIMM socket.
Exemplary logic is shown on RIMM module 430, including Direct RDRAM 480 and SPD ROM 470. The continuity module 450 is shown without any logic; basically, this module simply receives the serial signals in one side and passes them out the other. When additional RDRAM is to be installed, it replaces a continuity module in a RIMM socket, e.g., a RIMM module can be put in place of RIMM continuity module 450. Similarly, if a RIMM module is removed, it must be replaced with a continuity module, e.g., RIMM 440 can be replaced with a continuity module. A RIMM socket must not be left empty, however; this renders the RIMM memory subsystem inoperable.
The RIMM socket must always contain (during operation) a RIMM or continuity module because the Direct Rambus architecture employs a terminated serial bus topology, i.e. each set of memory slots is serially connected, and commonly terminated. Although there is a defined mechanism, the Serial Presence Detect (SPD), for sensing and identifying a memory module (RIMM), there is no mechanism to determine whether or not a continuity module is present. If at least one RIMM socket is unpopulated the bus (or Rambus channel) will not function. It is therefore desirable to provide feedback to the user that the memory subsystem is non-functional, why, and how to resolve the situation.
Innovative Mechanism for Detecting Continuity Modules in a Direct Rambus DRAM Subsystem
The preferred embodiment provides a system and method to inform the user that there is a missing Direct RDRAM continuity module in a specific RIMM socket or sockets. Upon system startup, the status of each of the RIMM sockets is checked, and if a socket is empty or contains a defective module, this information is provided to the user. This provides a great advantage over known systems, in which the user would only receive a general failure notice, without any indication as to the problem.